package com.drug.wms.service;

import com.drug.wms.domain.BusSkuStock;
import com.drug.wms.domain.BusSkuStockDetailsResponseVO;

import java.util.List;

/**
 * 库存Service接口
 *
 * @author ruoyi
 * @date 2021-12-05
 */
public interface IBusSkuStockService {
    /**
     * 查询库存
     *
     * @param id 库存主键
     * @return 库存
     */
    BusSkuStock selectBusSkuStockById(String id);

    /**
     * 查询库存
     *
     * @param id 库存主键
     * @return 库存
     */
    BusSkuStockDetailsResponseVO selectBusSkuStockDetailsById(String id);

    /**
     * 查询库存列表
     *
     * @param busSkuStock 库存
     * @return 库存集合
     */
    List<BusSkuStock> selectBusSkuStockList(BusSkuStock busSkuStock);

    /**
     * 新增库存
     *
     * @param busSkuStockList 库存
     * @return 结果
     */
    int insertOrUpdateSkuStock(List<BusSkuStock> busSkuStockList);

    /**
     * 修改库存
     *
     * @param busSkuStock 库存
     * @return 结果
     */
    int updateBusSkuStock(BusSkuStock busSkuStock);

    /**
     * 批量删除库存
     *
     * @param ids 需要删除的库存主键集合
     * @return 结果
     */
    int deleteBusSkuStockByIds(String[] ids);

    /**
     * 删除库存信息
     *
     * @param id 库存主键
     * @return 结果
     */
    int deleteBusSkuStockById(String id);

    /**
     *
     * @param skuId
     * @return
     */
    BusSkuStock selectBusSkuStockBySkuId(String skuId,Long deptId);

    /**
     * 变更基本单位（零整库移库操作）
     *
     * @return
     */
    int changeBaseUnit(String id, String wareHoseId, Integer moveNum);
}
